package com.kyrie.lib_sys.application.bookApplys.service;

import com.kyrie.lib_sys.common.entity.PageResult;
import com.kyrie.lib_sys.common.pojo.dto.BookDTO;
import com.kyrie.lib_sys.common.pojo.dto.BookPageQueryDTO;

import java.util.List;

public interface BookService {


    /**
     * 添加图书
     * @param bookDTO
     */
    void insert(BookDTO bookDTO);
    /**
     * 根据id查询图书
     * @param id
     * @return
     */
    BookDTO queryBookById(Long id);

    /**
     * 分页查询图书
     * @param bookPageQueryDTO
     * @return
     */
    PageResult queryPage(BookPageQueryDTO bookPageQueryDTO);

    /**
     * 根据条件查询图书
     * @param bookDTO
     * @return
     */
    BookDTO queryByCondition(BookDTO bookDTO);

    /**
     * 修改图书
     * @param bookDTO
     */
    boolean update(BookDTO bookDTO);


    /**
     * 根据id删除图书
     * @param id
     */
    void deleteById(Long id);


    /**
     * 批量删除图书
     * @param ids
     */
    void deleteBatch(List<Long> ids);

    /**
     * 批量添加图书
     * @param bookDTOS
     */
    void insertBatch(List<BookDTO> bookDTOS);
}
